/**
 * @项目名称: lession01
 * @文件名称: Demo1.java
 * @Date: 2016年9月20日
 * @Copyright: 2016 www.yunhe.cn Inc. All rights reserved.
 * 注意：本内容仅限于云和数据公司内部传阅，禁止外泄以及用于其他的商业目的
*/
package com.cn.yunhe.redis.study;

import org.apache.log4j.Logger;
import org.junit.Test;
import redis.clients.jedis.Jedis;

/**
 * 主要演示JEDIS封裝的REDIS各种指令自动打开SOCKET连接
 * 
 * @author ZSL
 *
 */
public class Demo1 {
	
	/**
	 * 日志工具
	 */
	Logger logger = Logger.getLogger(Demo1.class);

	/**
	 * 演示普通命令是否自动打开连接,以SET/GET演示
	 */
	@Test
	public void IsAutoOpenConn1(){
		
		//新实例化JEDIS对象,传入实际要连接的REDIS服务的IP地址和端口号
		//其他默认参数不传递,按照JEDIS默认参数
		Jedis client = new Jedis("127.0.0.1",6379);
		//定义局部变量KEY,命名规范尽量形象化以英文冒号或者点分割
		String csKey01 = "user:1001:username";
		//设置KEY对应值为字符串或者数字
		client.set(csKey01, "zhangsan");
		//输出打印
		logger.debug("获取键【"+csKey01+"】的值为："+client.get(csKey01));
		//断开连接
		client.disconnect();
		//再次设置修改KEY对应的值
		client.set(csKey01, "zhaozilong");
		//输出打印
		logger.debug("再次获取键【"+csKey01+"】的值为："+client.get(csKey01));
		//关闭TCP SOCKET连接
		client.close();
	}
	
	
	/**
	 * 演示普通命令是否自动打开连接,以SET/GET演示
	 */
	@Test
	public void IsAutoOpenConn2(){
		
		//新实例化JEDIS对象,传入实际要连接的REDIS服务的IP地址和端口号
		//其他默认参数不传递,按照JEDIS默认参数
		Jedis client = new Jedis("127.0.0.1",6379);
		//定义局部变量KEY,命名规范尽量形象化以英文冒号或者点分割
		String csKey01 = "user:1001:username";
		//输出打印
		logger.debug("获取键【"+csKey01+"】的值为："+client.get(csKey01));
		logger.debug("client的TCP SOCKET连接，是否已经打开:"+client.isConnected());
		//断开连接
		client.disconnect();
		//输出打印
		logger.debug("再次获取键【"+csKey01+"】的值为："+client.get(csKey01));
		logger.debug("client的TCP SOCKET连接，是否已经打开:"+client.isConnected());
		//关闭TCP SOCKET连接
		client.close();
	}
	
}

